home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 031-040 / amok31 / task&process / task&process.dok < prev    next >
Text File  |  1993-11-04  |  4KB  |  71 lines

  1. (*---------------------------------------------------------------------------
  2.    :Program.    Task & Process
  3.    :Contants.   Export a Procedure who starts Procedures as Processes
  4.    :Remark.     Ported from C to Modula-2
  5.    :History.    C-Edition by Arno Gölzer
  6.    :History.    V1.0, Having spent a lot of time meditating
  7.    :History.    V2.1, Markus Peuckert, November 89
  8.    :Author.     Markus Peuckert
  9.    :Address.    Schützenstr. 50, D-3550 Marburg, West-Germany,
  10.    :Copyright.  PD
  11.    :Language.   Modula-2
  12.    :Translator. M2Amiga V3.2d
  13. ---------------------------------------------------------------------------*)
  14.  
  15. Dies sind zwei Umsetzungen aus C-Versionen von Arno Gölzer aus dem
  16. Amiga-Magazin 11.89.
  17.  
  18. Task.mod :
  19.         Hier wird eine Prozedur als Task gestartet und erhält vom
  20.         Hauptprogramm eine Message, worauf der Task geweckt wird und
  21.         einige Rechtecke in einem Window zeichnet.
  22.         Soll eine Prozedur als Task gestartet werden, so folgendes
  23.         beachtet werden:
  24.                 - Der Task MUß vor dem Hauptprogramm abgearbeitet (fertig)
  25.                   sein.
  26.                 - Es dürfen keine Dos-Operationen durchgeführt werden.
  27.                   Das gilt auch für Aufrufe von WriteString etc. aus
  28.                   InOut oder Terminal, sonst GURU.
  29.                 - Der Task muß anschließend wieder entfernt werden.
  30.                   ===> Anmerkung:
  31.                         Nach Ablauf des Hauptprogrammes und des Tasks
  32.                         versuchte ich den Task mittels DeleteTask wieder
  33.                         zu entfernen, was aber in einem GURU endete.
  34.                         Daraufhin fragte ich vor dem Aufruf von DeleteTask
  35.                         mittels FindTask ab, ob überhaupt noch ein
  36.                         Task da war. Ergebnis: Nix da! Es ist also davon
  37.                         auszugehen, daß M2Amiga nach Ablauf des Tasks
  38.                         den Task selbstständig löscht, oder? Also ich
  39.                         weiß nich weiter.
  40.                         Die paar Zeilen in Cleanup sind also nur noch Schmuck
  41.                         und werden garnicht mehr angesprungen. Der gesamte
  42.                         Speicherplatz wird komplett zurückgegeben, das System
  43.                         scheint nach Programmablauf völlig wiederhergestellt
  44.                         zu sein. Vielleicht kann mir der geneigte und kundige
  45.                         Leser/Programmierer eine Lösung schreiben!
  46.  
  47. Process.mod :
  48.         Dieses Modul exportiert eine Prozedur, mit der man eine Prozedur
  49.         (starker Satz, wa?) als PROZEß starten kann. Es fallen somit die
  50.         Einschränkungen wie für Task.mod weg. Man kann also auch
  51.         Dos-Funktionen in der als Prozeß laufenden Prozedur aufrufen.
  52.         Allerdings sollte man darauf achten, daß auch der Prozeß vor
  53.         dem Hauptprogramm "fertig" ist. Der Rechner kackt zwar nicht
  54.         ab, aber der Prozeß ist nicht gelöscht worden, sodaß er immer
  55.         noch lustig im System herumgeistert. Richtet keinen Schaden an,
  56.         belegt aber Speicher --> ich find's einfach lästig.
  57.         Noch etwas:
  58.         In dem Testprogramm "ProcTest.mod" wird gezeigt, wie man mittels
  59.         Signalen zwischen den Tasks kommunizieren kann. Mit "Signal" wird dem
  60.         neuen Prozeß eine Nachricht übermittelt, der mit "Wait" darauf
  61.         wartet. Über die die LONGSET-Maske kann man dann angeben,
  62.         welche Signale man wie verarbeiten möchte.
  63.  
  64. Zum Schluß:
  65.         Es ist doch immer wieder erstaunlich, wie häufig dieser blöde
  66.         Kasten meditieren muß. Ein Hoch auf UNIX, alles wird abgefangen!
  67.  
  68.         Nu abber echt Schluß, mit dem Programmiererspruch:
  69.  
  70.         Dr' Markus kimmet hühte nit nüß, 's rähjent zoh vähle!
  71.